System and method for georeferencing digital raster maps

ABSTRACT

The preferred embodiment provides a system and method for georeferencing digital raster maps by associating specific points on the raster map with corresponding points on a georeferenced vector map or another georeferenced raster map. According to the preferred embodiment, a raster map and a corresponding vector map are simultaneously displayed to a user. The user then locates a common geographic point or feature on each map, and marks each of them as a unique point-pair. When the user has marked at least two point-pairs, the system then computes a georeferencing function, based on the pixel-coordinates of the points marked on the raster map and the corresponding geographic coordinates of the points on the vector map. Thereafter the geographic coordinates of any point on the map may be easily computed. The preferred embodiment provides that as more point-pairs are identified, the georeferencing function is modified for increased accuracy.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of and claims priority frompending U.S. Patent Application “System and Method for GeoreferencingDigital Raster Maps” Ser. No. (09/537,849), filed Mar. 29, 2000.Furthermore, this application is related to and claims priority frompending applications: “System and Method for Performing Flood ZoneCertifications” Ser. No. (09/537,161), filed Mar. 29, 2000 and “Systemand Method for Synchronizing Raster And Vector Map Images” Ser. No.(09/537,162), filed Mar. 29, 2000 which are hereby incorporated byreference.

BACKGROUND OF THE INVENTION

[0002] 1. Technical Field

[0003] The present invention generally relates to geographic mapprocessing and in particular to a system and method for associatingdigital raster maps with known geographic features. Still moreparticularly, the present invention relates to a system and method forassociating specific points on digital raster maps with a geographiccoordinate system.

[0004] 2. Description of the Related Art

[0005] A digital raster map is a computerized map image that resembles aconventional paper map in that it presents an image of the mapped area,but has no additional underlying data associated with the features ofthe map. A raster map is typically created by scanning a conventionalpaper map, and is a grid- based map composed of pixels (or dots) ofcolor or black & white. Each pixel in the grid has can be referenced bythe pixel coordinates, and has only one value, which indicates the colorof that pixel. Raster images are commonly referred to as “bit mapped.”

[0006] A vector map uses lines and polygons, rather than pixels, todescribe an image. Unlike a raster map, in which the map image is simplystored as a grid of pixels, when a vector map is displayed, it is drawnfrom a set of underlying data. The vector map is created through theplacements of nodes on a plane and connecting those nodes with lines.Vector lines can be attributed with tables of data such as elevations,values, names or other information relative to the line. Vector data canbe displayed in three dimensions if the lines are attributed with zvalues, modified or changed relative to user need, or layered to allowfor turning off and on the viewing of different information.

[0007] Because of their feature attribution properties, they areparticularly useful for displaying geographic data. Vector maps are usedto display boundaries or lines that denote the position and extent offeatures, such as county boundaries or lines denoting stream and riversystems. It is also very easy to view or manipulate the data underlyinga vector map, for example to view or change the elevation of a feature.

[0008] Also because vector maps are commonly drawn from a geographicdata set describing the area shown, they are very easily, and generallyinherently, georeferenced. Georeferencing is the process of relatingsource coordinates to referenced geographic coordinates., which aretypically in standard latitude/longitude. An image or a vector file isgeoreferenced to be used within a mapping/geographic environment. In avector map, the data from which the map is drawn will typically alreadyinclude a geographic coordinate set.

[0009] Modem GIS systems normally make use of digital vector based mapinformation. However, a vast legacy of paper-based map informationexists. It is very expensive and time consuming to convert all of theinformation on these paper maps over to a digital vector format. In manycases the scope and expense of such conversions render them completelyimpractical. However, even when a complete conversion to digitalvector-based format is not possible, it is still possible to obtain someof the benefits of computerized map systems, first by converting thepaper maps to digital raster maps (by scanning them), and then bygeoreferencing the raster image. After georeferencing, there should be aclear relationship between the pixel coordinates in the raster map, andthe geographic coordinates of the feature represented by that pixel. Itwould be desirable to provide a system and method for georeferencing araster map by associating points on that map with corresponding pointson a previously-georeferenced vector map, or with reference pointsdesignated in the raster map which have known latitude and longitude.

SUMMARY OF THE INVENTION

[0010] It is therefore one object of the present invention to provideimproved geographic map processing.

[0011] It is another object of the present invention to provide animproved system and method for associating digital raster maps withknown geographic features.

[0012] It is yet another object of the present invention to provide animproved system and method for associating specific points on digitalraster maps with a geographic coordinate system.

[0013] The foregoing objects are achieved as is now described. Thepreferred embodiment provides a system and method for georeferencingdigital raster maps by associating specific points on the raster mapwith corresponding points on a georeferenced vector map or anothergeoreferenced raster map. According to the preferred embodiment, araster map and a corresponding vector map are simultaneously displayedto a user. The user then locates a common geographic point or feature oneach map, and marks each of them as a unique point-pair. When the userhas marked at least two point-pairs, the system then computes ageoreferencing function, based on the pixel-coordinates of the pointsmarked on the raster map and the corresponding geographic coordinates ofthe points on the vector map. Thereafter the geographic coordinates ofany point on the map may be easily computed. The preferred embodimentprovides that as more point-pairs are identified, the georeferencingfunction is modified for increased accuracy.

[0014] The above as well as additional objectives, features, andadvantages of the present invention will become apparent in thefollowing detailed written description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The novel features believed characteristic of the invention areset forth in the appended claims. The invention itself however, as wellas a preferred mode of use, further objects and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

[0016]FIG. 1 depicts a data processing system in accordance with apreferred embodiment of the present invention;

[0017]FIG. 2 is an image of an exemplary raster map, in accordance withthe preferred embodiment;

[0018]FIG. 3 is an image of an exemplary vector map, corresponding tothe raster map of FIG. 2, in accordance with a preferred embodiment ofthe present invention; and

[0019]FIG. 4 is a flowchart of a process in accordance with a preferredembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0020] With reference now to the figures, and in particular withreference to FIG. 1, a block diagram of a data processing system inwhich a preferred embodiment of the present invention may be implementedis depicted. Data processing system 100 includes processor 102 andassociated L2 Cache 104, which in the exemplary embodiment is connectedin turn to a system bus 106. System memory 108 is connected to systembus 106, and may be read from and written to by processor 102.

[0021] Also connected to system bus 106 is I/O bus bridge 110. In theexemplary embodiment, data processing system 100 includes graphicsadapter 118 connected to bus 106, receiving user interface informationfor display 120. Peripheral devices such as nonvolatile storage 114,which may be a hard disk drive, and keyboard/pointing device 116, whichmay include a conventional mouse, a trackball, or the like, areconnected to I/O bus 112.

[0022] The exemplary embodiment shown in FIG. 1 is provided solely forthe purposes of explaining the invention and those skilled in the artwill recognize that numerous variations are possible, both in form andfunction. For instance, data processing system 100 might also include acompact disk read only memory (CD-ROM) or digital video disk (DVD)drive, a sound card and audio speakers, and numerous other optionalcomponents. All such variations are believed to be within the spirit andscope of the present invention. Data processing system 100 is providedsolely as an example for the purposes of explanation and is not intendedto imply architectural limitations.

[0023] The preferred embodiment provides a system and method forgeoreferencing digital raster maps by associating specific points on theraster map with corresponding points on a georeferenced vector map oranother georeferenced raster map. According to the preferred embodiment,a raster map and a corresponding vector map are simultaneously displayedto a user. The user then locates a common geographic point or feature oneach map, and marks each of them as a unique point pair. When the userhas marked at least two point-pairs, the system then computes ageoreferencing function, based on the pixel- coordinates of the pointsmarked on the raster map and the corresponding geographic coordinates ofthe points on the vector map. Thereafter the geographic coordinates ofany point on the map may be easily computed. The preferred embodimentprovides that as more point-pairs are identified, the georeferencingfunction is modified for increased accuracy.

[0024]FIG. 2 is an exemplary raster map, in accordance with thepreferred embodiment. This exemplary map shows a scanned image from aFederal Emergency Management Agency (FEMA) paper map. This raster imageshows a land area with flood zone indications, but would, in a computersystem, contain no underlying data regarding the area shown.

[0025]FIG. 3 is an exemplary vector map, corresponding to the raster mapof FIG. 2, in accordance with a preferred embodiment of the presentinvention. This map shows the same area as the map in FIG. 2, but iscreated by a computer system from a database describing the locations offeatures such as the streets shown. Typically, each feature shown on avector map such as this will already be georeferenced, in that thegeographic coordinates of each feature will also be recorded in theunderlying data

[0026] A digital map image is considered georeferenced if a pair ofmathematical functions, f, and g, have been defined that can be used toconvert back and forth between the coordinates of the map image (asdefined by the pixels of the image) and the corresponding longitude andlatitude of the location of that point. That is, f and g do thefollowing:

[0027] 1. If (x, y) represents a location on the digital map image, thenf(x, y)=(Lon, Lat) represents the longitude and latitude of thecorresponding physical location.

[0028] 2. If (Lon, Lat) represents a physical location that lies withinthe region covered by the map, then g (Lon, Lat)=(x, y) represents thepoint on the digital map image that corresponds to that longitude andlatitude.

[0029] Here, x and y represent the natural internal coordinate system ofthe map image. Typically, as described above, a digital raster map imageuses the pixels of its image as a natural coordinate matrix. However, inmost cases, a vector-based map image uses longitude and latitude as itsinternal coordinate system; if so, it can be considered to be triviallygeoreferenced already. Therefore, the functions f () and g () above arenon-trivial georeferencing functions required to convert back and forthbetween coordinate systems.

[0030] Following is a description of a georeferencing process inaccordance with the preferred embodiment:

[0031] First, the raster map to be georeferenced (referred to as Map1)is displayed on a computer monitor in conjunction with anotherpreviously georeferenced map (referred to as Map2) (step 400).Typically, Map2 will be a vector map, but could also be another rastermap, for which georeferencing functions are already known. Map1 and Map2can be independently manipulated for rotation, position and scale. Theuser will manipulate the maps until the region shown in Map1 iscontained within the region shown by Map2.

[0032] Next, pairs of points representing identical geographic locationson Map1 and Map2 are identified, and the user uses a keyboard, mouse, orother pointing device to mark these point-pairs (step 405). For eachpoint-pair, one point is marked on Map1 and the other point is marked atthe corresponding location on Map2. Examples of common georeferencingpoint-pairs include street intersections, places where rivers crossroads, mountain peaks, building locations, and other readilyidentifiable map features. If any points on Map1 have points of knownlongitude and latitude already marked on the map, then a georeferencingpoint-pair can be obtained by marking that point on Map1 and moving tothe point with identical latitude and longitude on Map2 and marking itas the other half of the point-pair. Alternatively, once the knownpoints are marked with the known latitude and longitude, they can beused to determine the georeferencing functions without requiring acorresponding mark on Map2.

[0033] After a point-pair is marked, the x-y point on Map1 is assignedthe corresponding latitude and longitude of its matching point on Map2(step 410).

[0034] When two georeferencing point-pairs are marked, the system willcompute georeference functions for Map1 based on a linear transformationthat allows an arbitrary rotation and predefined scaling, between thex-y domain and the latitude- longitude domain (step 415).

[0035] To improve accuracy and allow increased generality, moregeoreferencing point-pairs will frequently be desired. To facilitate theprocess of gathering these additional georeferencing point-pairs, Mapland Map2 are now selectively synchronized. This means that as either mapis zoomed, panned, scrolled, or otherwise caused to display a differentregion, then the other map automatically does the same. This greatlyincreases the ease with which georeferencing point-pairs can beidentified and marked on the maps, since when the user of the systemlocates an identifiable feature on one map, the other map willautomatically be showing very nearly the same location on the other map.

[0036] Thereafter, when the user marks a georeferencing point on one ofthe maps, then the system automatically marks the corresponding point onthe other map, based on its current georeferencing function (step 420).The user can then make corrections to the location of a point marked bythe system in this way (step 425). The user may enter as manypoint-pairs as are desired; each additional point-pair will increase theaccuracy of the georeferencing process.

[0037] When three or more georeferencing point-pairs are determined, thesystem computes georeference functions for Map1 based on a completelygeneral linear transformation between the x-y domain and thelatitude-longitude domain.

[0038] When four or more georeferencing point-pairs are determined, thegeneral linear georeferencing functions are over-determined. This meansthat more than the required amount of information to compute the generallinear georeferencing functions is available, but that it is not, ingeneral, completely consistent. The system use the extra informationcontained in the additional georeferencing points to provide validationchecks to protect against the possibility that some of the data pointsmay be inaccurate (step 430). Points that deviate excessively withrespect to a calculated standard error are presumed to be inaccurate andare omitted from the calculation of the georeferencing functions. Notethat as new point are added, the system also rechecks points previouslymarked as inconsistent, to determine if those points should now beconsidered when recomputing the georeferencing functions.

[0039] The additional point-pairs allow the system to compute thegeneral linear georeferencing functions which best fit the combinationof all the available georeferencing point-pairs, so that the activegeoreferencing functions are revised with each new point-pair (step435). According to the preferred embodiment, this is done by using a“least square” parameter fitting operation.

[0040] The user may then proceed o enter the next point-pair (step 440).When the user is finished, the system stores the active georeferencingfunctions with the raster-map (step is 445). At this time, the rastermap is considered fully georeferenced. When accessed at any future time,the system may simply retrieve the georeferencing functions, and applythem to find the latitude and longitude of any point on the raster map.

[0041] The process of determining he georeferencing function set from aset of point-pairs is believed to be within the ability of one ofordinary skill in the art. The specific approach used by the system anmethod of the preferred embodiment is discussed below.

[0042] At any given point in the georeferencing process a set of pointsP, has been specified. Let i ∈P denote one of the points of P.Associated value x₁, y₁, Lat₁ and Lon₁ refer to the x and y coordinatesof the point on the bitmap, and the latitude and longitude of the pointon the earth's surface. We also define A

P to be the subset of “active” points, i.e. points which are currentlybeing used in the calculation of the georeferencing functions. Assumethat we have selected a parametric family of functions F. Functions inthis family map from (x, y) to (Lon, Lat). Any function f ∈calF hascomponents f₁(x, y)=Lon, and f₂(x, y)=Lat. From within this family weseek the specific function {circumflex over (f)}, which (in a sense tobe defined below) comes closest to making the following system ofequations true:

{circumflex over (f)}(x ₁ ,y ₁)=(Lon ₁ ,Lat ₁) for i ∈A

[0043] Once determined, {circumflex over (f)} will b the georeferencingfunction which is used to compute corresponding latitude and longitudevalues, (Lon, Lat) for any point, (x, y) on the bitmap. There are anynumber of possible ways to define the function that “comes closest tomaking (1) true.” We shall follow a “least squares” approach also knownin mathematics as an L₂ approach. This approach seeks to find thefunction, {circumflex over (f)}, which minimizes the sum of the squareddifferences between the actual and the predicted values of latitude andlongitude. In other words, from among all the functions f ∈F,{circumflex over (f)} is the one which minimizes:

SSE=Σ└(f1(x ₁ ,y ₁)−Lon ₁)²+(f ₂(x ₁ ,y ₁)−Lat₁)²┘  (2)

[0044] Among various alternative methods for choosing the function{circumflex over (f)} are choosing it so t ht it minimizes the sum ofabsolute errors (rather than squared errors, or so that it minimizes thelargest error. Other criteria are also possible.

[0045] In what follows we shall describe methods for computinggeoreferencing functions based on both a “rotational linear” parametricfamily of functions and a “general linear” family of functions. Aknowledgeable practitioner will readily perceive that this approach maybe easily generalized to other parametric families of functions. Obviouscandidates include nonlinear parametric families of functions arisingfrom the projection of the earth's surface onto a flat map.

[0046] The General Linear Case:

[0047] In the general linear case, we let F be the set of all possiblelinear transformations which map from (x, y) to (Lon, Lat). Thus$\begin{matrix}{{\hat{f}( {x,y} )} = {{\begin{bmatrix}{\hat{a}}_{11} & {\hat{a}}_{12} \\{\hat{a}}_{21} & {\hat{a}}_{22}\end{bmatrix}\quad\begin{bmatrix}x \\y\end{bmatrix}} + \begin{bmatrix}{\hat{b}}_{1} \\{\hat{b}}_{2}\end{bmatrix}}} & (3)\end{matrix}$

[0048] for some choice of parameters â₁₁, â₁₂, â₂₁, â₂₂, {circumflexover (b)}₁, and {circumflex over (b)}₂. If the region covered by the mapto be georeferenced is not too large, then this family of functions willcontain a suitable function, {circumflex over (f)} whose total error isquite small. In the case where the map to be georeferenced covers alarger area than this, then the curvature of the earth must be takeninto account and F is not a suitable family of functions. In such acase, nonlinear functions must be used as mentioned above. We shall notpursue that case further, since it is a straightforward extension of theprocedures used in the linear case.

[0049] To find {circumflex over (f)} we seek the parameters whichminimize

[0050] SSE=

(a₁₁x_(i)+a₁₂y₁+b₁−Lon₁)²+(a₂₁x₁+a₂₂y₁+b₂−Lat₁)² The parameter valueswhich minimize this expression are found by solving the following twoindependent systems of linear equations: $\begin{matrix}{{\begin{bmatrix}n & {\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}y_{i}} \\{\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}x_{i}^{2}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} \\{\sum\limits_{i \in A}y_{i}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} & {\sum\limits_{i \in A}y_{i}^{2}}\end{bmatrix}\quad\begin{bmatrix}b_{1} \\a_{11} \\a_{12}\end{bmatrix}} = \begin{bmatrix}{\sum\limits_{i \in A}{Lon}_{i}} \\{\sum\limits_{i \in A}{x_{i}\quad {Lon}_{i}}} \\{\sum\limits_{i \in A}{y_{i}{Lon}_{i}}}\end{bmatrix}} & \text{(5a)}\end{matrix}$

$\begin{matrix}{{\begin{bmatrix}n & {\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}y_{i}} \\{\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}x_{i}^{2}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} \\{\sum\limits_{i \in A}y_{i}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} & {\sum\limits_{i \in A}y_{i}^{2}}\end{bmatrix}\begin{bmatrix}b_{2} \\a_{21} \\a_{22}\end{bmatrix}} = \begin{bmatrix}{\sum\limits_{i \in A}{Lat}_{i}} \\{\sum\limits_{i \in A}{Lat}_{i}} \\{\sum\limits_{i \in A}{y_{i}{Lat}_{i}}}\end{bmatrix}} & \text{(5b)}\end{matrix}$

[0051] These systems can be easily solve by well known methods, such asGaussian Elimination, or LU factorization. The solutions yield thedesired values of â₁₁, â₁₂, â₂₁, â₂₂, {circumflex over (b)}₂, and{circumflex over (b)}₂. It should be noted that equations (5a) and (5b)do not have a unique solution unless three or more non-colinear pointsare contained inA. Generally speaking, then, it requires 3 points tochoose a georeferencing function from the family of general lineartransformations. When there are four points or more, it is possible tocompute a standard deviation of errors using the formula:$\begin{matrix}{s = \sqrt{\frac{\sum\limits_{i \in A}\lbrack {( {{{\hat{a}}_{11}x_{i}} + {{\hat{a}}_{12}y_{i}} + {\hat{b}}_{1} - {Lon}_{i}} )^{2} + ( {{{\hat{a}}_{21}x_{i}} + {\hat{b}}_{2} - {Lat}_{i}} )^{2}} \rbrack}{n - 3}}} & (6)\end{matrix}$

[0052] s is an estimator for the amount of error to be expected betweenactual and predicted latitude and longitude values.

[0053] Note that the inverse georeferencing function, {circumflex over(f)}⁻¹ that maps from (Lon, Lat) to (x, y) is readily obtained now, byinverting the function {circumflex over (f)}. Having done this, it ispossible to compute a similar standard deviation of error for{circumflex over (f)}⁻¹ which is an estimate of error as measured in thebitmap coordinates.

[0054] The Rotational Linear Case:

[0055] In the, so called, rotational linear case, we let F be the set ofall possible linear transformations which map from (x, y)to (Lon, Lat)and which also allow for a known scale change caused by the differencein distance per degree of latitude and per degree of longitude at anypoint not on the equator. Thus $\begin{matrix}{\overset{\hat{}\quad}{f} = {( {x,y} ) = {{\begin{bmatrix}\frac{{\hat{\beta}}_{3}}{\gamma} & {- {\hat{\beta}}_{4}} \\{- {\hat{\beta}}_{4}} & {- {\hat{\beta}}_{3}}\end{bmatrix}\quad\lbrack \frac{x}{y} \rbrack} + \begin{bmatrix}\frac{{\hat{\beta}}_{1}}{\gamma} \\\beta_{2}\end{bmatrix}}}} & (7)\end{matrix}$

[0056] for some choice of parameters {circumflex over (β)}₁, {circumflexover (β)}₂, {circumflex over (β)}₃, and {circumflex over (β)}₄, whereγ=cos (Lat) is computed from the estimated latitude of the map to begeoreferenced.

[0057] Clearly, this is a special case of the more general lineartransform described above, where we take

a ₁₁ =β ₃ /γ,a ₁₂=−β₄ ,a ₂₁=−β₄,

a ₂₂ =−β ₃ ,b ₁=β₁ /γ,b ₂=β₂.

[0058] In theory, if the region covered by the map to be georeferencedis not too large, then this family of functions will contain a suitablefunction, {circumflex over (f)} whose total error is quite small. In thecase where the map to be georeferenced covers a larger area than this,then the curvature of the earth must be taken into account and F is nota suitable family of functions. In such a case, nonlinear functions mustbe used as noted above. In practice, the general linear transform willyield results which are somewhat superior to the rotational lineartransform due to the former's innate ability to use arbitrary scalingfactors. These arbitrary scaling factors might compensate, for example,for scaling flaws in the digital scanner used to scan in the maps. Theprimary advantage of the rotational linear transform is that it can becomputed with only two reference points (unlike the general lineartransform which requires three reference points).

[0059] To find {circumflex over (f)} we seek, as before, the parameterswhich minimize SSE as defined in equation (4).

[0060] The parameter values which minimize this expression are found bysolving the following system of linear equations: ${\begin{bmatrix}n & 0 & {\sum x_{i}} & {- {\sum y_{i}}} \\0 & n & {- {\sum y_{i}}} & {- {\sum x_{i}}} \\{\sum\limits_{i \in A}x_{i}} & {- {\sum\limits_{i \in A}y_{i}}} & {\sum\limits_{i \in A}( {x_{i}^{2} + y_{i}^{2}} )} & 0 \\{- {\sum\limits_{i \in A}y_{i}}} & {- {\sum\limits_{i \in A}x_{i}}} & 0 & {\sum\limits_{i \in A}( {x_{i}^{2} + y_{i}^{2}} )}\end{bmatrix}\quad\lbrack \quad \begin{matrix}\beta_{1} \\\beta_{2} \\\beta_{3} \\\beta_{4}\end{matrix} \rbrack} = \quad \quad \lbrack \quad \begin{matrix}{\gamma {\sum\limits_{i \in A}{Lon}_{i}}} \\{\sum\limits_{i \in A}{Lat}_{i}} \\{{\gamma {\sum\limits_{i \in A}{x_{i}{Lon}_{i}}}} - {\sum\limits_{i \in A}{y_{i}{Lat}_{i}}}} \\{{{- \gamma}{\sum\limits_{i \in A}{y_{i}{Lon}_{i}}}} - {\sum\limits_{i \in A}{x_{i}{Lat}_{i}}}}\end{matrix}\quad \rbrack$

[0061] These systems can easily solved by well known methods, such asGaussian Elimination, or LU factorization. The solutions yield thedesire values of {circumflex over (β)}₁, {circumflex over (β)}₁,{circumflex over (β)}₁, and {circumflex over (β)}₁ which in turn yieldthe desired values for â₁₁, â₁₂, â₂₁, â₂₂, {circumflex over (b)}₁, and{circumflex over (b)}₂.

[0062] It should be noted that equation (8) does not have a uniquesolution unless two or more points are contained in A. Generallyspeaking, then it requires two points to determine a georeferencingfunction from the family of rotational linear transformations. Whenthere are three points or more, it is possible to compute a standarddeviation of error, s using the formula:$s = \sqrt{\frac{\sum\limits_{i \in A}\lbrack {( {{{\hat{a}}_{11}x_{i}} + {{\hat{a}}_{12}y_{i}} + {\hat{b}}_{1} - {Lon}_{i}} )^{2} + ( {{{\hat{a}}_{21}x_{i}} + {\hat{b}}_{2} - {Lat}_{i}} )^{2}} \rbrack}{n - 2}}$

[0063] s is an estimator for the amount of error to be expected betweenactual and predicted latitude and longitude values.

[0064] Note that the inverse georeferencing function {circumflex over(f)}⁻¹ that maps from (Lon, Lat) to (x, y) is readily obtained now, byinverting the function {circumflex over (f)}. Having done this, it ispossible to compute a similar standard deviation of error for{circumflex over (f)}⁻¹ which is an estimate of error as measured in thebitmap coordinates.

[0065] Automatic Error Detection and Handling

[0066] When individual points are being assigned x, y, Lon, and Latvalues, there is always a potential for error. To reduce the risk ofincorrect georeferencing resulting from such errors, certain errorhandling procedures are built into the georeferencing process. Thefundamental concept is that of detecting a “bad” point and then removingit from the set of active points, A Note that removing point from A willnot delete the information associate, with that point, but it will causethe georeferencing parameters to be completely uninfluenced by thatpoint. We o not wish to remove the point entirely, since it may bedetermined at a later stage of the georeferencing, that the point wasnot really bad at all, and should be-used in the georeferencingcalculation. This will be clarified shortly.

[0067] Detecting Bad Points

[0068] The following steps outline the bad point detection process usingthe general linear transform approach to georeferencing.

[0069] 1. Begin by placing all existing points into the active set, A

[0070] 2. If there are fewer than five active points then you are done,

[0071] Otherwise, for each of the currently active points in turn, moveit (call it point k for the sake of convenience) temporarily out of theactive set, and then calculate the resulting inverse georeferencingfunction (call it ĝ^((k))) and its corresponding SSE_(k). Also,calculate the difference between the predicted value and the actualvalue δ_(k)|ĝ^((k))(Lon_(k),Lat_(k))−(x_(k),y_(k))|. Make a note of thevalues, δ_(k) and δ_(k)/SSE _(k). Return point k to the active set (andmove on to the next value of k.

[0072] 3. From among the results found in step 2 above, find the pointk, with the largest value of δ_(k)/SSE_(k)>c₁and δ_(k)which alsosatisfies δ_(k)/SSE_(k)>c₁and δ_(k)>c₂, where c₁, c₂, are some constantswhich are set according to the general level of accuracy to be expectedon the particular type of map which is being georeferenced, the currentnumber of active points, and the dots per inch of the scanned image. Ifthere is such a point then mark it as bad (by removing it from theactive set) and return to step 2 above. Otherwise you are done.

[0073] There are several things to note about this procedure. One isthat it allowing the value of c₁ and C₂ to change with the number ofactive points, makes it possible for the georeferencing system andmethod to utilize points which it might originally determine bad orinconsistent after a large enough sample of points has been gathered tomake it clear that a lesser level of accuracy is all that can beachieved on this map. Another observation is that using this procedureit is impossible to reduce the number of active points down to less thanfour (unless you started with less than 4 in which case this proceduredoes not apply at all). This scheme means that as each new point isadded, all points determined so far are considered, even those which hadpreviously been marked bad. Thus early “misjudgments” on the part of thesystem can be corrected later, in light of new point information.

[0074] The same bad point detection process, can also be implementedusing the rotational linear transform approach. In this case the methodis capable of reducing the number of active points down as low as three(rather than four for the general linear transform approach outlinedabove). This can be useful when dealing with small sets of activepoints.

[0075] When the system is georeferencing raster map images that cover alarge enough area so that the (nonlinear) curvature of the earth is asource of significant error, the system can calculate nonlineargeoreferencing functions whose form corresponds to the map projectionthat was used to create Map1.

[0076] A specific example of the operation and application of thepreferred georeferencing method may be shown with reference to the“Flood Zone Determination” business. The Federal Emergency ManagementAgency (FEMA) publishes a library of tens of thousands of paper mapsshowing various types of flood zones and their locations in the UnitedStates. A flood zone determination on a property is frequently done inthe following way:

[0077] 1. The address of the property is examined, and the location ofthe property is determined (perhaps through the use of a geocodingsystem, or b examining an available street map).

[0078] 2. A map analyst attempts to determine which of the manythousands of FEMA flood maps will contain this property.

[0079] 3. The map analyst goes to a map storage area and retrieves thedesired map, often examining several maps before making a finalselection.

[0080] 4. Having retrieved the paper map, the map analyst nextdetermines where, precisely, the property is located on the map.

[0081] 5. Finally, the map analyst examines flood zone notations on themap at the property's location in order to determine its flood-zonestatus.

[0082] When performed using paper maps, the above process is difficultand quite time consuming. A database of scanned raster map images,alone, can be used to reduce the time and effort expended on step 3above. However, georeferenced raster map images can also be used toeliminate virtually all work from steps 2 and 4 above. Since those aregenerally the most time consuming steps under the current process, thevalue of georeferenced flood maps is considerable.

[0083] Using georeferenced flood map raster images, steps 2 and 4 above,are replaced by:

[0084] 2. A computer system combines the pre-designated outlines of theraster map and the georeferencing information to obtain a polygonexpressed in terms of latitude and longitude that outlines the regionincluded in each flood map. Then the system determines which of thepolygons contain the address in question, which is done using a“point-in-polygon” algorithm. At the conclusion of this process, thecomputer system has identified a map panel (or perhaps a small number ofmap panels) that contains the address.

[0085] 4. Since the latitude and longitude of the property are known (byvirtue of a geocoding phase), the computer system can use thegeoreferencing of the map panels to locate the property on each of thepanels found above, thus largely eliminating any need for he map analystto scan the flood map for the address location

[0086] Therefore, it is easily seen that by using georeferenced rastermaps instead of paper maps, the process of determining flood zones issubstantially automated and much more efficient.

[0087] It is important to note that while the present invention has beendescribed in the context of a fully functional data processing systemand/or network, those skilled in the art will appreciate that themechanism of the present invention is capable of being distributed inthe form of a computer usable medium of instructions in a variety offorms, and that the present invention applies equally regardless of theparticular type of signal bearing medium used to actually carry out thedistribution. Examples of computer usable mediums include: nonvolatile,hard-coded type mediums such as read only memories (ROMs) or erasable,electrically programmable read only memories (EEPROMs), recordable typemediums such as floppy disks, hard disk drives and CD-ROMs, antransmission type mediums such as digital and analog communicationlinks.

[0088] While the invention has been particularly shown and describedwith reference to a preferred embodiment, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the invention.

What is claimed is:
 1. A method of georeferencing a raster map,comprising: providing for display a first map and a second map, thefirst map being a digital raster map, and the second map being apreviously georeferenced map; the fist map being substantially similarto the second map when displayed; receiving an entry identifying a firstpoint pair point on the first map; receiving an entry identifying asecond point pair point on the second map, the second point pair pointhaving approximately the same location on the second map as the firstpoint pair point has on the first map; assigning a point pair point onthe first map a longitude coordinate and a latitude coordinate, thelongitude coordinate and the latitude coordinate of the first point pairpoint being identical to a longitude point and a latitude pointassociated with a point pair point on the second map.
 2. The method ofclaim 1 wherein the second map is a vector map.
 3. The method of claim 1wherein the second map is a digital raster map.
 4. The method of claim 1wherein the point pair point on the first map has a previouslydetermined longitude and latitude.
 5. The method of claim 1 furthercomprising creating a georeferencing function.
 6. The method of claim 5wherein the georeferencing function is a linear transformation.
 7. Themethod of claim 1 further comprising selectively synchronizing,responsive to a user command, the first map and the second map.
 8. Themethod of claim 1 further comprising receiving a mark on the first mapat a location, and reproducing the mark on the second map at acorresponding location.
 9. The method of claim 5 wherein georeferencinguses at least three point pairs to complete the georeferencing functionfor the first map based on a linear transformation.
 10. The method ofclaim 5 further comprising using at least four point pairs to completethe georeferencing function for the first map, based on a lineartransformation, and further comprising executing a validation check. 11.The method of claim 10 further comprising rejecting a point pair whenthe point pair deviates a pre-determined amount from a pre-determinedstandard error.
 12. The method of claim 11 wherein the predeterminedstandard error uses a “least square” parameter fitting operation. 13.The method of claim 1 further comprising: receiving a selection of apoint pair on the first map, and receiving a selection of a point pairon the second map.
 14. A method in a computer system for georeferencinga raster map, the method capable of transforming the computer systeminto a specific processing machine, by: providing for display a firstmap and a second map, the first map being a digital raster map, and thesecond map being a previously georeferenced map; the fist map beingsubstantially similar to the second map when displayed; receiving anentry identifying a first point pair point on the first map; receivingan entry identifying a second point pair point on the second map, thesecond point pair point having approximately the same location on thesecond map as the first point pair point has on the first map; assigninga point pair point on the first map a longitude coordinate and alatitude coordinate, the longitude coordinate and the latitudecoordinate of the first point pair point being identical to a longitudepoint and a latitude point associated with a point pair point on thesecond map.
 15. The method of claim 14 further comprising creating thegeoreferencing function.
 16. The method of claim 14 further comprisingreceiving a mark on the first map at a location, and reproducing themark on the second map at a corresponding location.
 17. The method ofclaim 14 further comprising using at least four point pairs to compute ageoreferencing function for the first map based on a lineartransformation, and further comprising executing a validation check. 18.The method of claim 17 further comprising rejecting a point pair whenthe point pair deviates a predetermined amount from a predeterminedstandard error.
 19. A computer readable medium whose contents enable thegeoreferencing of a raster map, by: providing for display a first mapand a second map, the first map being a digital raster map, and thesecond map being a previously georeferenced map; the fist map beingsubstantially similar to the second map when displayed; receiving anentry identifying a first point pair point on the first map; receivingan entry identifying a second point pair point on the second map, thesecond point pair point having approximately the same location on thesecond map as the first point pair point has on the first map; assigninga point pair point on the first map a longitude coordinate and alatitude coordinate, the longitude coordinate and the latitudecoordinate of the first point pair point being identical to a longitudepoint and a latitude point associated with a point pair point on thesecond map.
 20. The method of claim 19 further comprising: using atleast four point pairs to compute a georeferencing function for thefirst map based on a linear transformation; further comprising executinga validation check; and rejecting a point pair when the point pairdeviates a predetermined amount from a predetermined standard error.